/**
 * 
 */
package org.vsg.stock.core.indicator.kline;

import java.util.List;

import org.vsg.stock.core.indicator.coordinate.DefaultCoordinate;
import org.vsg.stock.core.indicator.coordinate.OriginalDataPoint;
import org.vsg.stock.core.indicator.coordinate.UnitDefinitionBuilder;
import org.vsg.stock.core.kline.DailyKLineStock;

/**
 * @author Bill Vison
 *
 */
public abstract class CoordinateBuilder {

	/**
	 * handle build running cycle for the stock
	 */
	abstract void buildup();
	
	/**
	 * 
	 * @param importedList
	 */
	abstract void setDailyKLineStockList(List<DailyKLineStock> importedList);
	
	/**
	 * setting original Data Point of original point in the coordinate 
	 * @param dks
	 */
	abstract void setOriginalDataPoint(OriginalDataPoint odp);
	
	/**
	 * defined the stock code 
	 * @param stockCode
	 */
	abstract void setStockCode(String stockCode);
	
	/**
	 * using costom unit definitiion builder 
	 * @param builder
	 */
	abstract void setUnitDefinitionBuilder(UnitDefinitionBuilder customBuilder);
	
	
	
	abstract DefaultCoordinate getCoordinate();
}
